注册 登录
中国神经科学论坛 返回首页

admin的个人空间 https://bbs.bioguider.com/?11 [收藏] [复制] [分享] [RSS]

日志

使用ChatGPT4o编写代码批量删除HDwiki失效图片

热度 1已有 29 次阅读2024-5-22 13:02 |个人分类:网站事务

在phpMyAdmin中,你可以使用SQL语句来批量删除包含特定链接的图片链接及其相应的文字表述。以下是一个示例语句,用于从表 wiki_doccontent 字段中删除包含 hudong.com 链接的图片及其描述:

sql
UPDATE wiki_doc SET content = REPLACE(content, SUBSTRING_INDEX(SUBSTRING_INDEX(content, '<IMG title', -1), '></A>', 1), '') WHERE content LIKE '%hudong.com%';

以上语句的解释:

  1. UPDATE wiki_doc:更新表 wiki_doc
  2. SET content = REPLACE(content, SUBSTRING_INDEX(SUBSTRING_INDEX(content, '<IMG title', -1), '></A>', 1), '')
    • REPLACE(content, SUBSTRING_INDEX(SUBSTRING_INDEX(content, '<IMG title', -1), '></A>', 1), '')
      • 使用 SUBSTRING_INDEX 函数找到包含 <IMG title></A> 之间的子字符串,并用空字符串替换它。
  3. WHERE content LIKE '%hudong.com%':仅在 content 字段中包含 hudong.com 的记录上应用此操作。

此示例假设你希望删除 <IMG title> 开始到 ></A> 结束的所有内容。如果你有更具体的需求或不同的HTML结构,可能需要根据实际情况调整SQL语句。建议在执行此操作之前备份数据库,以防意外删除重要数据。

要运行此SQL语句,请按照以下步骤操作:

  1. 登录phpMyAdmin。
  2. 选择你的数据库。
  3. 点击数据库左侧菜单中的wiki_doc表。
  4. 点击上方的SQL选项卡。
  5. 将上述SQL语句粘贴到文本框中。
  6. 点击“执行”按钮以运行SQL语句。

如果只想删除图片附近的DIV内容,不影响文中其它部分,需要更精细化下代码:


sql
UPDATE wiki_doc SET content = REPLACE( content, SUBSTRING( content, LOCATE('<DIV', content, LOCATE('hudong', content) - 300), LOCATE('</DIV>', content, LOCATE('hudong', content)) - LOCATE('<DIV', content, LOCATE('hudong', content) - 300) + 6 ), '' ) WHERE content LIKE '%hudong%';



路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|生物行[生物导航网] ( 沪ICP备05001519号 )

GMT+8, 2024-6-16 16:36 , Processed in 0.017611 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部